//
// Created by denglibin on 2021/5/6.
//

#ifndef OPENCV_QUICKDEMO_H
#define OPENCV_QUICKDEMO_H
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
class QuickDemo {
private:

public:
    QuickDemo();
    /**
     * 色彩空间
     * @param mat
     */
    void colorSpaceDemo(Mat& mat);

    /**
     * mat操作
     */
     void matCreationDemo(Mat& mat);

     /**
      * 像素读写
      * @param mat
      */
     void pixelVisitDemo(Mat& mat);

     /**
      * 像素的算术操作
      * @param mat
      */
     void pixelOperate(Mat& mat);


     /**
      * 拖动调整
      * @param mat
      */
     void trackBarDemo(Mat& mat);

     /**
      * 颜色风格
      */
     void colorStyle(Mat& mat);

     /**
      * 位操作
      */
     void bitWiseDemo(Mat& mat);

     /**
      * 颜色通道
      * @param mat
      */
     void channelsDemo(Mat& mat);

     /**
      *inRange
      * @param mat
      */
     void inRangeDemo(Mat& mat);

     /**
      * 像素统计
      * @param mat
      */
     void pixelStatistic(Mat& mat);

     /**
      * 绘制
      * @param mat
      */
     void drawDemo(Mat& mat);

     /**
      * 绘制
      * @param mat
      */
     void randomDraw(Mat& mat);

     /**
      * 多边形
      * @param mat
      */
     void drawPolygon(Mat& mat);

     /**
      * 标准化
      * @param mat
      */
     void normalizedDemo(Mat& mat);

     /**
      * 缩放
      * @param mat
      */
     void resizeDemo(Mat& mat);

     /**
      * 翻转
      * @param mat
      */
     void flipDemo(Mat& mat);

     /**
      * 旋转
      * @param mat
      */
     void rotateDemo(Mat& mat);

     /**
      * 视频
      * @param mat
      */
     void videoDemo(Mat& mat);

     /**
      * 直方图(通道像素值(0-255)频率分布)
      * @param mat
      */
     void showHistogram(Mat& mat);

};


#endif //OPENCV_QUICKDEMO_H
